package com.wxxymaker.service;

import com.wxxymaker.model.entity.Admin;
import com.wxxymaker.utils.auth.AuthService;
import org.springframework.data.domain.Page;

import java.util.List;

public interface AdminService extends BaseService<Admin>, AuthService {

    /**
     * 管理员分页查询
     * @param pageNo 页码
     * @param size   每页个数
     * @param grade  管理等级, 为0时查询所有
     * @param name   管理员姓名，不为空时才进行模糊查询
     */
    Page<Admin> page(Integer pageNo, Integer size, Integer grade, String name);

    /**
     * 根据管理员性姓名进行模糊查询
     * @param name  管理名字
     */
    List<Admin> getByName(String name);

    /**
     * 登录验证，如果登录成功，则会更新其登录时间
     * @param admin 管理员，包涵账号密码信息
     */
    boolean checkAdmin(Admin admin);

    @Override
    Admin getByUsername(String username);
}
